package com.sinochem.yunlian.ship.api.vo.trace;

import lombok.Data;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * @Auther: zzd
 * @Dscription: 添加航线Vo
 * @Date: Create in 2017/11/21 9:35
 **/
@Data
public class WaybillLineInfoForm {
    //货品id
    @NotNull(message = "货品id不能为空")
    private Long materialCategoryId;

    //货品名称
    @NotBlank(message = "货品名称不能为空")
    private String materialCategoryName;

    //签约重量
    @NotNull(message = "签约重量不能为空")
    private BigDecimal signTotal;

    //签约重量变化范围
    private BigDecimal signTotalRange;

    //装货港ID
    @NotNull(message = "装货港ID不能为空")
    private Long fromPortId;
    //装货港名称
    @NotBlank(message = "装货港名称不能为空")
    private String fromPortName;

    private String fromWharf;

    //第一卸货港id
    @NotNull(message = "第一卸货港ID不能为空")
    private Long toPortIdF;
    @NotBlank(message = "第一卸货港名称不能为空")
    private String toPortNameF;
    private String toWharfF;
    @NotNull(message = "第一卸货港卸货量不能为空")
    private BigDecimal toPortTotalF;
    //第二卸货港id
    private Long toPortIdS;
    private String toPortNameS;
    private String toWharfS;
    private BigDecimal toPortTotalS;
    //第三卸货港id
    private Long toPortIdT;
    private String toPortNameT;
    private String toWharfT;
    private BigDecimal toPortTotalT;

    //损耗(根据业务与前台约定好单位在数据库中存整数)
    private BigDecimal loss;
    //含水量(根据产品需要与前台约定好单位，在数据库中只存整数)
    private BigDecimal water;
    //受载期开始时间
    private String loadDateStart;
    //受载期变化范围
    private String loadDateEnd;
    //两港作业时间
    private Integer twoPortHour;
    //封样个数
    private Integer sealedAmount;
    //装货港交接方式
    private String fromPortMeasureType;
    //卸货港交接方式
    private String toPortMeasureType;

    private Long createBy;

    private String createName;

    @Override
    public String toString(){
        return ToStringBuilder.reflectionToString(this);
    }


}
